资源一:官方源码运行指南
在 vuejs/core 仓库的 contributing.md 中有详细的开发环境配置说明。
环境要求
- Node.js 20+(查看
.node-version文件确认) - pnpm 作为包管理器
运行步骤
# 克隆源码(国内可使用镜像)
git clone https://github.com/vuejs/core.git
# 安装依赖
pnpm install
# 构建所有包
pnpm run build
bash
项目结构(核心目录)
| 目录 | 职责 |
|---|---|
packages/reactivity | 响应式系统,核心中的核心 |
packages/runtime-core | 运行时核心:虚拟 DOM 渲染器、组件实现、JS API |
packages/runtime-dom | 浏览器运行时:处理原生 DOM API、属性、事件 |
packages/compiler-core | 平台无关的编译器核心 |
packages/compiler-dom | 浏览器端编译器附加功能 |
packages/compiler-sfc | Vue 单文件组件(.vue)编译器 |
packages/compiler-ssr | 服务端渲染编译器 |
packages/vue | 完整版 Vue(包含编译器和运行时) |
如果只关注核心部分(响应式、渲染器、编译器),可以先跳过 compiler-ssr 和 server-renderer。
资源二:官方文档深入章节
Vue 官方文档中有两个关键章节值得精读:
注意:官方文档更多是概念介绍,代码不会写得很详细,适合建立初步认知。
资源三:Vue RFCs 仓库
vuejs/rfcs 记录了 Vue 3 各特性的设计讨论过程:
- Open issues:社区正在讨论的特性提案
- Closed issues:已被采纳或拒绝的提案
- 可以了解核心团队在设计 API 时的权衡思路
资源四:《Vue.js 设计与实现》
作者霍春阳(Vue 核心团队成员),这本书的特点:
- 框架设计视角:从较高视角带领读者理解框架设计思想
- 核心模块全覆盖:渲染器、响应式系统、Diff 算法、编译器,都有代码+示例
- 渐进式深度:示例代码不是完整的源码实现,但能帮助建立认知框架
阅读时需要注意:书中代码与 Vue 官方源码存在差异,但核心逻辑一致。建议先理解书中原理,再对照源码深入学习。
AI 辅助阅读源码
借助 Cursor、Claude 等 AI 工具,可以高效理解源码:
- 将
packages/reactivity目录作为上下文提供给 AI - 直接提问如"这个目录的代码应该怎么阅读"、"effect.ts 中的核心函数有哪些"
- AI 会提供文件级别的代码概览和函数说明
核心文件速查:
| 文件 | 核心内容 |
|---|---|
effect.ts | effect、track、trigger 核心函数 |
baseHandlers.ts | Proxy 的 get/set 拦截器 |
reactive.ts | reactive 函数及 Proxy 相关逻辑 |
ref.ts | ref 的实现(对象访问器方式) |
computed.ts | computed 计算属性实现 |
↑